package com.dragon.modules.yuegou.excel.order;

import com.dragon.modules.media.annotations.ExcelSheet;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@com.dragon.modules.media.annotations.ExcelWorkbook(template = "classpath:\\excel\\order\\orderDetails.xlsx")
public class OrderDetailsWorkbook {
	@ExcelSheet
	@JsonProperty("订单明细记录表")
	private List<OrderDetailsRow> orderDetails;

	public static class OrderDetailsRow {
		@JsonProperty("订单号")
		private String orderNo;

		@JsonProperty("订单类型")
		private String type;
		
		@JsonProperty("商品名称")
		private String skuTitle;
		
		@JsonProperty("规格")
		private String skuAttrs;

		@JsonProperty("悦卡名称")
		private String cardName;
		
		//原支付时间
		@JsonProperty("提交时间")
		private LocalDateTime payTime;
		
		@JsonProperty("提交人（手机号）")
		private String mobile;
		//原金额
		@JsonProperty("实付金额")
		private BigDecimal payAmount;

		@JsonProperty("应付金额")
		private BigDecimal payableAmount;

		//原结算价
		@JsonProperty("应结算价")
		private BigDecimal settlementPrice;

		@JsonProperty("实结算价")
		private BigDecimal settlementPracticalPrice;
		
		@JsonProperty("积分")
		private BigDecimal skuPoints;

		@JsonProperty("商户")
		private String merchantName;

		@JsonProperty("支付方式")
		private String payType;
		
		@JsonProperty("订单状态")
		private String status;
		
		@JsonProperty("核销时间")
		private LocalDateTime pickupTime;
		
		@JsonProperty("核销人")
		private String pickupUser;
		
		@JsonProperty("退款时间")
		private LocalDateTime refundTime;

		@JsonProperty("优惠金额")
		private BigDecimal discountAmount;

		@JsonProperty("平台分摊")
		private BigDecimal groupDivideFee;

		@JsonProperty("商户分摊")
		private BigDecimal merchantDivideFee;

		public String getCardName() {
			return cardName;
		}

		public void setCardName(String cardName) {
			this.cardName = cardName;
		}

		public BigDecimal getSettlementPracticalPrice() {
			return settlementPracticalPrice;
		}

		public void setSettlementPracticalPrice(BigDecimal settlementPracticalPrice) {
			this.settlementPracticalPrice = settlementPracticalPrice;
		}

		public BigDecimal getPayableAmount() {
			return payableAmount;
		}

		public void setPayableAmount(BigDecimal payableAmount) {
			this.payableAmount = payableAmount;
		}

		public BigDecimal getDiscountAmount() {
			return discountAmount;
		}

		public void setDiscountAmount(BigDecimal discountAmount) {
			this.discountAmount = discountAmount;
		}

		public BigDecimal getGroupDivideFee() {
			return groupDivideFee;
		}

		public void setGroupDivideFee(BigDecimal groupDivideFee) {
			this.groupDivideFee = groupDivideFee;
		}

		public BigDecimal getMerchantDivideFee() {
			return merchantDivideFee;
		}

		public void setMerchantDivideFee(BigDecimal merchantDivideFee) {
			this.merchantDivideFee = merchantDivideFee;
		}

		public String getOrderNo() {
			return orderNo;
		}

		public void setOrderNo(String orderNo) {
			this.orderNo = orderNo;
		}

		public String getSkuTitle() {
			return skuTitle;
		}

		public void setSkuTitle(String skuTitle) {
			this.skuTitle = skuTitle;
		}
			

		public String getSkuAttrs() {
			return skuAttrs;
		}

		public void setSkuAttrs(String skuAttrs) {
			this.skuAttrs = skuAttrs;
		}

		public LocalDateTime getPayTime() {
			return payTime;
		}

		public void setPayTime(LocalDateTime payTime) {
			this.payTime = payTime;
		}

		public String getMobile() {
			return mobile;
		}

		public void setMobile(String mobile) {
			this.mobile = mobile;
		}

		public BigDecimal getPayAmount() {
			return payAmount;
		}

		public void setPayAmount(BigDecimal payAmount) {
			this.payAmount = payAmount;
		}

		public BigDecimal getSkuPoints() {
			return skuPoints;
		}

		public BigDecimal getSettlementPrice() {
			return settlementPrice;
		}

		public void setSettlementPrice(BigDecimal settlementPrice) {
			this.settlementPrice = settlementPrice;
		}

		public void setSkuPoints(BigDecimal skuPoints) {
			this.skuPoints = skuPoints;
		}

		public String getMerchantName() {
			return merchantName;
		}

		public void setMerchantName(String merchantName) {
			this.merchantName = merchantName;
		}

		public String getType() {
			return type;
		}

		public void setType(String type) {
			this.type = type;
		}

		public String getStatus() {
			return status;
		}

		public void setStatus(String status) {
			this.status = status;
		}

		public LocalDateTime getPickupTime() {
			return pickupTime;
		}

		public void setPickupTime(LocalDateTime pickupTime) {
			this.pickupTime = pickupTime;
		}

		public String getPickupUser() {
			return pickupUser;
		}

		public void setPickupUser(String pickupUser) {
			this.pickupUser = pickupUser;
		}

		public LocalDateTime getRefundTime() {
			return refundTime;
		}

		public void setRefundTime(LocalDateTime refundTime) {
			this.refundTime = refundTime;
		}

		public String getPayType() {
			return payType;
		}

		public void setPayType(String payType) {
			this.payType = payType;
		}
	}

	public List<OrderDetailsRow> getOrderDetails() {
		return orderDetails;
	}

	public void setOrderDetails(List<OrderDetailsRow> orderDetails) {
		this.orderDetails = orderDetails;
	}

}
